home *** CD-ROM | disk | FTP | other *** search
/ Network PC / Network PC.iso / amiga utilities / communication / internet / amitcp3.0b / src.lha / src / amitcp / net / sana2request.h < prev   
Encoding:
C/C++ Source or Header  |  1996-09-08  |  2.7 KB  |  102 lines

  1. /* $Id: sana2request.h,v 1.11 1993/06/04 11:16:15 jraja Exp $
  2.  *
  3.  * Copyright (c) 1993 AmiTCP/IP Group, <amitcp-group@hut.fi>,
  4.  *                    Helsinki University of Technology, Finland.
  5.  *                    All rights reserved.
  6.  *
  7.  * sana2request.h - Sana-II IO Request Management routines
  8.  *
  9.  * Last modified: Fri Jun  4 00:40:53 1993 jraja
  10.  *
  11.  * HISTORY
  12.  * $Log: sana2request.h,v $
  13.  * Revision 1.11  1993/06/04  11:16:15  jraja
  14.  * Fixes for first public release.
  15.  *
  16.  * Revision 1.10  1993/05/16  21:09:43  ppessi
  17.  * RCS version changed.
  18.  *
  19.  * Revision 1.9  1993/05/04  15:45:12  puhuri
  20.  * Changed ss_addr to ss_hwaddr...
  21.  *
  22.  * Revision 1.8  93/04/19  02:19:05  02:19:05  ppessi (Pekka Pessi)
  23.  * ssss_addrbytes replaced with ss?iss_if.if_addrlen
  24.  * 
  25.  * Revision 1.7  93/04/06  08:54:22  08:54:22  jraja (Jarno Tapio Rajahalme)
  26.  * Changed bcopy's to aligned_bcopy[_const] when appropriate.
  27.  * 
  28.  * Revision 1.6  93/03/20  07:12:49  07:12:49  ppessi (Pekka Pessi)
  29.  * Fixed mbuf allocating for headers
  30.  * 
  31.  * Revision 1.5  93/03/16  19:38:42  19:38:42  too (Tomi Ollila)
  32.  * code fixes
  33.  * 
  34.  * Revision 1.4  93/03/12  23:55:50  23:55:50  ppessi (Pekka Pessi)
  35.  * Added IOSana2Request handling functions...
  36.  * 
  37.  * Revision 1.1  93/03/12  03:21:25  03:21:25  ppessi (Pekka Pessi)
  38.  * moved DeleteIOSana2Req and CreateIOSana2Req here.
  39.  * 
  40.  * Revision 1.3  93/03/05  19:51:21  19:51:21  jraja (Jarno Tapio Rajahalme)
  41.  * Fixed includes (again).
  42.  * 
  43.  * Revision 1.2  93/02/28  22:30:28  22:30:28  ppessi (Pekka Pessi)
  44.  * Made a much fancier banner... 
  45.  * Transfered buffermanagement taglist here.
  46.  * 
  47.  * Revision 1.1  93/02/25  14:35:21  14:35:21  ppessi (Pekka Pessi)
  48.  * Initial revision
  49.  * 
  50.  */
  51.  
  52. extern struct TagItem buffermanagement[];
  53.  
  54. #ifndef SYS_PARAM_H
  55. #include <sys/param.h>
  56. #endif
  57.  
  58. BOOL
  59. ioip_alloc_mbuf(struct IOIPReq *s2rp, ULONG MTU);
  60.  
  61. /*
  62.  * Allocate a new Sana-II IORequest for this task
  63.  */
  64. static inline struct IOSana2Req *
  65. CreateIOSana2Req(register struct sana_softc *ssc)
  66. {
  67.   register struct IOSana2Req *req;
  68.   register struct MsgPort *port;
  69.  
  70.   port = CreateMsgPort();
  71.   if (!port) return NULL;
  72.  
  73.   req = CreateIORequest(port, sizeof(*req));
  74.   if (!req) {
  75.     DeleteMsgPort(port);
  76.     return NULL;
  77.   }
  78.  
  79.   if (ssc) {
  80.     req->ios2_Req.io_Device    = ssc->ss_dev;
  81.     req->ios2_Req.io_Unit      = ssc->ss_unit;
  82.     req->ios2_BufferManagement = ssc->ss_bufmgnt;
  83.  
  84.     aligned_bcopy(ssc->ss_hwaddr, req->ios2_SrcAddr, ssc->ss_if.if_addrlen);
  85.   }
  86.   return req;
  87. }
  88.  
  89. /*
  90.  * Delete a Sana-II IORequest 
  91.  */
  92. static inline VOID 
  93. DeleteIOSana2Req(register struct IOSana2Req *open)
  94. {
  95.   register struct MsgPort *port = open->ios2_Req.io_Message.mn_ReplyPort;
  96.  
  97.   DeleteIORequest((struct IORequest*) open);
  98.   if (port)
  99.     DeleteMsgPort(port);
  100. }
  101.  
  102.